<div class="fsh-rightPanel">
    <label> <input type="password" style="display: none"></label>
    <div class="layui-anim layui-anim-upbit">
        <div class="layui-form-item wx-search" id="list_form">
            <div class="layui-inline">
                <input type="text" name="course_task" placeholder="请输入课程名称" autocomplete="off" class="layui-input">
            </div>
            <button class="layui-btn btn-primary" id="search">搜索</button>
            <div class="layui-btn-container" style="text-align: right">
                <button class="layui-btn btn-primary" id="role_add">新建课程</button>
            </div>
        </div>
        <table id="list_table" class="layui-hide" lay-filter="mainList"></table>
    </div>
</div>
<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
        <button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
        <button class="layui-btn layui-btn-sm" lay-event="del">删除</button>
    </div>
</script>
<script>


    var parentId;

    layui.use(['layer', 'table'], function () {
        var layer = layui.layer;
        var table = layui.table;
        var tableObj = table.render({
            elem: '#list_table',
            url: context + '/api/educourse/getList?parent_id=0',
            //开启头部工具栏，并为其绑定左侧模板，
            toolbar: '#toolbarDemo',
            defaultToolbar: ['filter', 'exports', 'print', {}],
            request: {
                limitName: 'pageSize' //每页数据量的参数名，默认：limit
            },
            align: 'center'
            , cols: [[ //表头
                {type: 'checkbox', fixed: 'left'},
                {
                    field: 'img_url', title: '课程封面', align: 'center', templet: function (d) {
                        return d.img_url != undefined ? '<div><img src="' + d.photo + '" style="height:100px;width:100px;"></img></div>' : '';
                    }
                },
                {field: 'course_task', title: '课程名称', align: 'center'},
                {field: 'major_name', title: '课程分类', align: 'center'},
                {field: 'createDate', title: '创建日期', align: 'center'},
                {
                    field: 'ease', title: '课程难度', width: 100, align: 'center', templet: function (d) {
                        var s = d.ease;
                        if (s == 0) {
                            return '初级';
                        } else if (s == 1) {
                            return '中级';
                        } else if (s == 2) {
                            return '高级';
                        }
                    }
                },
                {
                    field: 'lock', title: '操作', width: 240, align: 'center', unresize: true,
                    templet: function (d) {
                        return '<a href="javascript:;" class="font-primary" lay-event="find">详情</a>'
                            + '<a href="javascript:;" class="font-primary" lay-event="update">修改</a>'
                            + '<a href="javascript:;" class="font-primary" lay-event="del">删除</a>'
                            + '<a href="javascript:;" class="font-primary" lay-event="dispatch">分配课程</a>'
                    }
                }
            ]]
            , page: true

        });

        // 检索
        $("#search").click(function () {
            reloadTable(tableObj);
        });
        // 添加
        $("#role_add").click(function () {
            showDialog({
                title: '新建课程'
                , template: 'desc.html'
                , tableObj: tableObj
                , yes: function (index, layero) {
                    layui.form.on('submit(*)', function (data) {
                        $.ajax({
                            url: context + '/api/educourse/insertOne',
                            type: 'POST',
                            async: false,
                            dataType: 'json',
                            contentType: "application/json;charset-UTF-8",
                            data: JSON.stringify(data.field),
                            success: function (result) {
                                if (result.success) {
                                    layer.msg("添加成功");
                                    layer.close(index);
                                    reloadTable(tableObj);
                                } else {
                                    layer.msg(result.msg);
                                }
                            },
                            error: function () {
                                layer.msg("添加异常");
                            }
                        })
                    });
                    //表单验证
                    layui.form.validate();//默认form名称为add_form（可不填写）
                }

            })
        });

        //表格内部操作按钮监听
        table.on('tool(mainList)', function (obj) { //注：tool是工具条事件名，mainList是table原始容器的属性 lay-filter="对应的值"
            var data = obj.data; //获得当前行数据
            var layEvent = obj.event; //获得 lay-event 对应的值

            if (layEvent === 'update') {
                showDialog({
                    title: '编辑课程'
                    , type: 'get'
                    , template: 'edit'
                    , tableObj: tableObj
                    , htmlData: data
                    , yes: function (index, layero) {
                        layui.form.on('submit(*)', function (data) {

                            $.ajax({
                                url: context + '/api/educourse/updateOne',
                                type: 'PATCH',
                                async: false,
                                dataType: 'json',
                                contentType: "application/json;charset-UTF-8",
                                data: JSON.stringify(data.field),
                                success: function (result) {
                                    if (result.success) {
                                        layer.msg("修改成功");
                                        layer.close(index);
                                        reloadTable(tableObj);
                                    } else {
                                        layer.msg(result.msg);
                                    }
                                },
                                error: function () {
                                    layer.msg("修改异常");
                                }
                            })
                        });

                        //表单验证
                        layui.form.validate();//默认form名称为add_form（可不填写）
                    }

                })
            } else if (layEvent === 'del') {
                // 删除
                layer.confirm('确认删除此课程？', {
                    icon: 7,
                    title: "提示",
                    btn: ['确认', '取消'] //按钮
                }, function () {
                    $.ajax({
                        url: context + '/api/educourse/' + data.course_id,
                        type: "DELETE",
                        success: function (result) {
                            if (result.success && result.data > 0) {
                                layer.msg("删除成功");
                                reloadTable(tableObj);
                            } else {
                                layer.msg(result.msg);
                            }
                        },
                        error: function () {
                            layer.msg("删除异常");
                        }
                    })
                }, function () {
                    layer.closeAll();
                });
            } else if (layEvent === 'find') {// 查看详情
                jump('./views/school/courseware/template/detail[id=' + data.course_id + ']');
            } else if (layEvent === 'dispatch') {// 分配学校
                showMiniDialog({
                    title: '分配学校课程'
                    , template: 'dispatch'
                    , htmlData: data
                    , yes: function (index, layero) {
                        layer.close(index);
                    }

                })
            }
        });

    });
</script>
